
let ajaxTimes = 0;  // 存储同时发送一步请求时的请求个数  用来判断关闭loading的时机
const request = function (obj) {
	ajaxTimes++;
	// 可配置是否出现loading  默认出现
	if(obj.isShowLoading || obj.isShowLoading == null){
		uni.showLoading({
			mask: true
		})
	}
	console.log('请求的url：' + obj.url);
	console.log('请求参数为: '+ JSON.stringify(obj.data));
	uni.request({
		url: obj.url,
		method: obj.type,
		data: obj.data,
		success: (res) => {
			console.log("返回结果======" + JSON.stringify(res.data))
			if (res.data.code == "200" || res.data.status == "1") {
				obj.success(res.data);
			} else {
				if (obj.fail) {
					obj.fail(res.data);
				}
				//如果服务重启，返回登录界面
				if(res.data.code == '403') {
					uni.navigateTo({
						url:"../pages/login/index.vue"
					})
				}
				// 默认显示接口错误  可单独配置隐藏报错
				if(obj.showFailMessage || obj.showFailMessage == null){
					uni.showToast({
						title: res.data.msg || '请求失败!',
						icon: 'none',
						// title: res.data.msg || res.data.data || '请求失败!',
						duration: 3000
					})	
				}
			}
		},
		fail: (err) => {
			uni.showModal({
				content:"请求失败!",
				showCancel:false
			})
		},
		complete:function(){
			ajaxTimes--;
			// console.log("ajaxTimes: " + ajaxTimes);
			if(ajaxTimes == 0){
				uni.hideLoading();
			}
		}
	})
}
 export default request